
#ifndef __BOCAT_COMMON_LOG_HPP_2010__
#define __BOCAT_COMMON_LOG_HPP_2010__

namespace   bocat {
namespace   common {

class   Logger
{
public  :
    virtual int error(int line_no, const char* file_name, const char* format ...) = 0;

    virtual int warn(int line_no, const char* file_name, const char* format ...) = 0;

    virtual int info(int line_no, const char* file_name, const char* format ...) = 0;

    virtual int debug(int line_no, const char* file_name, const char* format ...) = 0;

public	:
	virtual	void    configure(const char* config_file, const char* section) = 0;

public	:
	virtual	~Logger() {}
};

Logger* getLogger(const char* category="root");

}   // namespace common
}   // namespace bocat

#endif  // __BOCAT_COMMON_LOG_HPP_2010__

